<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>at方法</title>
</head>
<body>
  <script>
    // 长久以来，JavaScript不支持数组的负索引，如果要引用数组的最后一个成员，不能写成arr[-1],只能写成arr[arr.length - 1]
    /**
     * 这是因为，方括号运算符，在JavaScript语言里面，不仅用于数组，还用于对象。对于对象来说。方括号里面就是键名
     * 比如obj[1]引用的是键名为字符串1的键。同理，obj[-1]引用的是键名为字符串-引用的是键名为字符串-1的键，由于JavaScript的数组是特殊的对象。
     * 所以方括号里面的负数无法再有其他语义了，也就是说，不可能添加新语法来支持负索引。
     * 于是，新增了一个at方法，接受一个整数作为参数，返回对应位置的成员，支持负索引
     * 这个方法不仅可以用于数组，也可以用于字符串和类型数组。
    */
   var arr = [5,12,8,130,44]
   arr.at(2) // 8
   arr.at(-2) //130
   // 如果参数位置超出了数组范围，at返回undefined
  </script>
</body>
</html>